package utils

import (
	"fmt"
	"strconv"
)

/**
 * @author: guangcheng
 * @date:   2020/11/7 17:01
 * @version  V1.0
 * @description: 一个文件夹下只有一个包名, 可以有很多.go文件, 包名必须一致
包名一般保持和文件夹名相同, 也可以不同
 *
*/
func Cal(n1 float64, n2 float64, op byte) float64 {

	var res float64
	switch op {
	case '+':
		res = n1 + n2
	case '-':
		res = n1 - n2
	case '*':
		res = n1 * n2
	case '/':
		res = n1 / n2
	default:
		fmt.Println("Input op error...")
	}

	return res
}

func Swap(n1 *int, n2 *int) {

	t := *n1
	*n1 = *n2
	*n2 = t
}

var Name string
var Age int

//初始化工作
func init() {
	Name = "mandy"
	Age = 19
}

//将打印金字塔的代码封装到函数中
func PrintPyramid(totalLevel int) {

	//i 表示层数
	for i := 1; i <= totalLevel; i++ {
		//在打印*前先打印空格
		for k := 1; k <= totalLevel-i; k++ {
			fmt.Print(" ")
		}

		//j 表示每层打印多少*
		for j := 1; j <= 2*i-1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}

//字符串转整数, 0代表转换错误
func StringToInt(str string) int {

	n, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("转换错误", err)
		return 0
	} else {
		return n
	}
}
